package com.itheima.leetcode.od.c.string;

import java.util.*;

/**
 * <h3>整数编码</h3>
 */
public class IntegerCoding {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        String input = sc.nextLine();
        // 将输入字符串转换为长整型
        long num = Long.parseLong(input);
        String result = encode(num);
        System.out.println(result);
    }

    public static String encode(long num) {
        // 如果数字为0，直接返回"00"
        if (num == 0) {
            return "00";
        }

        List<String> bytes = new ArrayList<>();
        while (num > 0) {
            // 取出低7位
            long lowBits = num & 0x7F;
            num >>= 7;

            // 如果还有更多位要处理，设置最高位为1
            if (num > 0) {
                lowBits |= 0x80;
            }

            // 转换为16进制并补零
            String hex = String.format("%02X", lowBits);
            bytes.add(hex);
        }

        // 拼接结果（小端序）
        return String.join("", bytes);
    }
}